/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.audit.domain;

import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.context.ApplicationContext;

import java.util.Date;

@ApiModel(value = "审批数据记录",description = "审批数据记录实体类")
public class Audit extends BaseEntity {

    public Audit() {
        super();
    }

    public Audit(String title, String description, String signinName, Date time) {
        super(signinName, time);
        this.title = title;
        this.description = description;
    }

    private ApplicationContext ctx;

    @ApiModelProperty(name = "code",value = "code")
    private String code;

    @ApiModelProperty(name = "corpCode",value = "水司code",required = true)
    private String corpCode;


    @ApiModelProperty(name = "corpName",value = "水司名称",required = true)
    private String corpName;

    @ApiModelProperty(name = "title",value = "标题",required = true)
    private String title;

    @ApiModelProperty(name = "description",value = "任务描述",required = true)
    private String description;

    @ApiModelProperty(name = "target",value = "业务实体对象如危险源、检查表、隐患",required = true)
    private String target;

    @ApiModelProperty(name = "operation",value = "操作,1编辑 2废弃",required = true)
    private Integer  operation;

    @ApiModelProperty(name = "flowName",value = "流程名称,如：危险源导入、废弃危险源库中被选取的危险源、导入检查表、隐患导入、安全检查会签、导入危险源清单、业务管理检查表导入、业务管理检查表废弃",required = true)
    private String  flowName;

    @ApiModelProperty(name = "flowType",value = "流程类型,1审批流，2处理流",required = true)
    private Integer  flowType;

    @ApiModelProperty(name = "state",value = "工作流审批状态: 0草稿 1审批中 2完成",required = true)
    private Integer state;

    @ApiModelProperty(name = "attachment",value = "附件")
    private String attachment;

    @ApiModelProperty(name = "flowInstanceId",value = "工作流实例id")
    private String flowInstanceId;

    @ApiModelProperty(value = "发起人Code", name = "initiatorId", required = true)
    private String initiatorCode;

    @ApiModelProperty(value = "发起人Account", name = "initiatorAccount", required = true)
    private String initiatorAccount;

    @ApiModelProperty(value = "下个处理人Code", name = "nextParticipantId", required = true)
    private String nextParticipantCode;

    @ApiModelProperty(name = "businessIds",value = "关联业务数据的数据id,json形式")
    private String businessIds;

    @ApiModelProperty(name = "otherBusinessIds",value = "关联其他业务数据的数据id,json形式, 如专有危险源扩充到标准库")
    private String otherBusinessIds;
    @ApiModelProperty(name = "templateKey",value = "流程模板key")
    private String templateKey;

    @ApiModelProperty(name = "setCode",value = "流程模板组code")
    private String setCode;
    @ApiModelProperty(name = "nextGridNode",value = "当前选中网格负责人所在得网格code，随手拍，隐患专用")
    private String nextGridNode;

    @ApiModelProperty(name = "nowNodeCode",value = "当前所在的审批节点")
    private String nowNodeCode;

   /* @ApiModelProperty(name = "remark",value = "备注")
    private String remark;
    @ApiModelProperty(name = "systemCode",value = "体系编号")
    private String systemCode;*/

    public String getInitiatorAccount() {
		return initiatorAccount;
	}

	public void setInitiatorAccount(String initiatorAccount) {
		this.initiatorAccount = initiatorAccount;
	}

	public String getSetCode() {
		return setCode;
	}

	public void setSetCode(String setCode) {
		this.setCode = setCode;
	}

	public String getCorpCode() {
        return corpCode;
    }

    public void setCorpCode(String corpCode) {
        this.corpCode = corpCode;
    }

    public String getCorpName() {
        return corpName;
    }

    public void setCorpName(String corpName) {
        this.corpName = corpName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getTarget() {
        return target;
    }

    public void setTarget(String target) {
        this.target = target;
    }

    public String getFlowName() {
        return flowName;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public Integer getFlowType() {
        return flowType;
    }

    public void setFlowType(Integer flowType) {
        this.flowType = flowType;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getOperation() {
        return operation;
    }

    public void setOperation(Integer operation) {
        this.operation = operation;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public String getFlowInstanceId() {
        return flowInstanceId;
    }

    public void setFlowInstanceId(String flowInstanceId) {
        this.flowInstanceId = flowInstanceId;
    }

    public String getInitiatorCode() {
        return initiatorCode;
    }

    public void setInitiatorCode(String initiatorCode) {
        this.initiatorCode = initiatorCode;
    }

    public String getNextParticipantCode() {
        return nextParticipantCode;
    }

    public void setNextParticipantCode(String nextParticipantCode) {
        this.nextParticipantCode = nextParticipantCode;
    }

    public String getBusinessIds() {
        return businessIds;
    }

    public void setBusinessIds(String businessIds) {
        this.businessIds = businessIds;
    }

    public String getOtherBusinessIds() {
        return otherBusinessIds;
    }

    public void setOtherBusinessIds(String otherBusinessIds) {
        this.otherBusinessIds = otherBusinessIds;
    }


    /*public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSystemCode() {
        return systemCode;
    }

    public void setSystemCode(String systemCode) {
        this.systemCode = systemCode;
    }*/

    public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getTemplateKey() {
		return templateKey;
	}

	public void setTemplateKey(String templateKey) {
		this.templateKey = templateKey;
	}

	public ApplicationContext getCtx() {
		return ctx;
	}

	public void setCtx(ApplicationContext ctx) {
		this.ctx = ctx;
	}

    public String getNextGridNode() {
        return nextGridNode;
    }

    public void setNextGridNode(String nextGridNode) {
        this.nextGridNode = nextGridNode;
    }

    public String getNowNodeCode() {
        return nowNodeCode;
    }

    public void setNowNodeCode(String nowNodeCode) {
        this.nowNodeCode = nowNodeCode;
    }

    @Override
    public String toString() {
        return "Audit{" +
                "corpCode='" + corpCode + '\'' +
                ", title='" + title + '\'' +
                ", description='" + description + '\'' +
                ", target='" + target + '\'' +
                ", flowName='" + flowName + '\'' +
                ", flowType=" + flowType +
                ", state=" + state +
                ", attachment='" + attachment + '\'' +
                ", flowInstanceId='" + flowInstanceId + '\'' +
                ", initiatorCode='" + initiatorCode + '\'' +
                ", nextParticipantCode='" + nextParticipantCode + '\'' +
                ", businessIds='" + businessIds + '\'' +
                ", otherBusinessIds='" + otherBusinessIds + '\'' +
                '}';
    }
}
